Prosthetic implant failure mechanisms are numerous. Among the most prevalent causes of failure are polyethylene wear, aseptic loosing, infection, and mal-alignment. Polyethylene wear comprises the largest single identifiable cause of implant failure today. Moreover, polyethylene wear can predispose implants to loosing as a result of increased loading of the reformed tissues. As implant technology evolves, new and more complex modes of wear, damage, and failure are being identified. As a consequence of these facts, there is a great need for rigorous implant life cycle testing in simulator machines that are capable of replicating the subtleties of human motion.
Simulator machines address the implant longevity problem by providing a non-human environment in which new and existing prosthetic devices are evaluated using accelerated life testing. These machines allow researchers to isolate and study design deficiencies, identify and correct materials problems, and ultimately provide physicians and patients with longer life prosthetic systems. Simulator machines approximate human joint motion. Clearly, the closer the approximation of human joint motion, the more reliable the results.
To date, simulator machines have at best provided only a very rough approximation of the complexity of human joint motion, such as knee motion. Available displacement controlled machines rely on an a priori description of the kinematics of the relevant body part, making little or no allowance for variations in prosthetic design, and subject the implant device to these prescribed motions for the duration of the life cycle test. Other machines use a force control system that subjects the prosthetic device to an ensemble of forces and torques that represent those encountered in the body part (e.g. a knee) during physiologic motion. Once implanted in the patient, however, the prosthetic is supported and constrained by the soft tissues of the body. Hence, for improved accuracy, force controlled machines should in some way simulate the natural constraints of these soft tissue forces. Some simulator machines have attempted to provide such constraints with a complex system of mechanical springs. However, these springs have proven cumbersome to work with, and have only a limited capability of simulating the complex characteristics of the human body, such as the knee's soft tissue.
FIG. 1 illustrates an example of a prosthetic simulator testing machine 10 that may be used with embodiments of the present invention. As described in U.S. Pat. No. 7,823,460, the teachings of which are incorporated by reference in its entirety, a prosthetic simulator 10 is a non-human environment used for testing prosthetic devices, particularly implant devices, such as prosthetic knees, in a manner that approximates the conditions within the human body. The simulator 10 is preferably capable of performing “accelerated wear” tests, in which the prosthesis is put through a large number of cycles (e.g. 20 million cycles) of pre-determined motions that are likely to be encountered in the human body. In the embodiment shown in FIG. 1, the simulator 10 comprises three stations 11a, 11b, 11c, each having one or more actuators, such as servo-hydraulic actuators, for driving a prosthesis to simulate various types of body motions. It will be understood that a simulator according to can have any number of stations.
FIG. 2 illustrates a schematic 200 of an example of a simulator station 11 for a prosthetic knee implant. This schematic 200 illustrates the typical controlled and uncontrolled degrees of freedom of the knee simulator. Force control of knee simulators, such as those illustrated in FIGS. 1-2, relies on the principle of equipollence to reduce the complex system of forces acting across the knee to a system of orthogonal forces consistent with the actions of the machine's mechanical actuators. The forces across the knee may be aggregated into three groups: 1) the active forces of the musculature; 2) the passive forces of the ligamentous and capsular structures; and 3) the contact forces acting on the articular surface.
In typical simulation devices, the machine's actuators have been used to simulate the active forces, a hardware constraint system (such as a mechanical spring arrangement) is used to simulate the passive forces, and the contact forces result directly from tibial-femoral contact.
A virtual soft tissue control system may utilize similar partitioning of the forces but adopts a flexible model-based software system rather than the simple mechanical spring arrangement for soft tissue constraint. The modeled soft tissue constraint provides the opportunity for realistic soft tissue approximation incorporating nonlinear, asymmetric features of the soft tissue forces.
FIG. 3 is a schematic of a control system 300 for a prosthetic simulator. The prosthetic simulator stage 11 is driven by one or more servo-hydraulic actuators 15 under the control of a digital control system 101. As described in further detail below, the control system according to this embodiment includes both a virtual soft tissue model system, and an iterative learning control system.
The simulator includes a multi-axis force/torque transducer 19 mounted beneath the tibial tray of the simulator stage so that the three components of femoral-tibial contact force (and moment) can be monitored. Transducer 19 can be a six-channel strain gauge transducer.
The simulator can also include one or more position sensors or transducers 21 to measure the relative translational and rotational positions of the femoral 22 and tibial 23 components of the simulator. The position sensor 21 preferably monitors the flexion/extension angle 31, internal/external (IE) rotation angle 33, anterior/posterior (AP) translation 35, and vertical (compression/distraction) position 37 of the prosthesis (shown in FIG. 2). The medio-lateral (ML) knee translation 39 and rotation 41 may also be monitored.
The force transducer 19 and position sensor(s) 21 provide feedback data regarding the forces and motions of the prosthesis at the simulator stage 11.
The virtual soft tissue control system 300 includes a nested loop design. The nested loop design includes an inner loop 7 and an outer loop. The inner loop 7 obtains a feedback from the multi-axis force/torque transducer 19 and provides traditional proportional, integral, derivative control (PID) via a discrete numeric algorithm. The inner loop 7 provides force control of the servo-hydraulic actuator 15. An input to the inner loop 7 represents a force set point or time varying force waveform. Under force control alone, the closed loop servo-hydraulic system attempts to drive the machine's actuator until the output of the force transducer is equal to the force set point.
The virtual soft tissue algorithm is implemented in the outer loop 9 of the nested loop design. The outer loop 9 derives its feedback from a position transducer 21, or an angular position transducer in the case of interior-exterior (IE) rotation. This position feedback provides the input to a piecewise cubic spline interpolation algorithm 8 that, by proper choice of coefficients, can be programmed to represent the variety of soft tissue force displacement relationships encountered in a human body. The piecewise cubic spline coefficients can be calculated offline, based on the desired soft tissue model, and subsequently downloaded to the controller. The cubic spline algorithm may is shown using a transfer function 8, F=S(x). The spline interpolation algorithm establishes a relationship between the current configuration of the simulator device (where configuration means the relative positions and orientation of the prosthetic components) and the constraint force which emulates the elastic restoring force of the knee's soft tissue. The calculated constraint force is subtracted from the reference force or torque waveform 6, and the residual is passed to the input of the inner loop 7, where it becomes the reference input to the force control portion of the control scheme.
Each controlled degree of freedom is equipped with its own independent control loop, a single channel of which is schematically depicted in FIG. 3. In certain embodiments, a single control variable drives each of the spline approximation algorithms. In other embodiments, multiple inputs can be used to accommodate the complexity of the articulations of the knee.
The digital signal processor code may implement eight synchronized arbitrary waveform generators (not shown) that are used to provide the driving signals for the simulator's actuators 15. Each waveform generator may be programmed via a 256-point array of data downloaded from a computer. This data provides a template for the repetitive control of the associated digital to analog converter (DAC) and the connected actuator. A 24-bit phase generator scheme provides waveform periods from several hours to 0.33 seconds. The waveform generator may utilize a first order interpolation scheme to determine intermediate values between template array points. The waveform generator outputs may be mapped to digital proportional integral derivative (PID) calculation block inputs.
In one example, eight PID calculation blocks which implement the parallel form PID control algorithm are available to provide closed loop control of the machine's actuators. The PID calculation block inputs may be mapped to either a waveform generator block or another PID calculation block. Similarly the PID calculation outputs may be mapped to another PID block input or directly to the systems output DACs. The PID calculation is implemented as shown in equation (a) below:
                              v          o                =                                            k              p                        ⁢                          e              ⁡                              (                t                )                                              +                                    1                              t                i                                      ⁢                          ∫                                                                    e                    ⁡                                          (                      t                      )                                                        d                                ⁢                t                                              +                                    t              d                        ⁢                                                  ⁢                          ⅆ                              ⅆ                t                                      ⁢                          e              ⁡                              (                t                )                                                                        (        a        )            where vo is the output voltage, kp is the proportional gain constant, ti is the integral time constant, td is the derivative time constant and e(t) is the error signal (the difference between the reference input and the feedback signals).
The soft tissue model is implemented, as shown schematically in FIG. 3, by cascading two PID control blocks. The inner loop PID calculation block is setup to provide traditional force control of the servo-hydraulic actuator by selecting the appropriate force or torque channel for feedback. The outer loop feedback source is acted upon by a cubic function as follows:F=ao+a1x+a2x2+a3x3  (b)In this way, a position input is transformed into a constraining force analogous to the expected constraint of the soft tissue. The soft tissue model is implemented as an eight segment cubic spline algorithm. The input to the algorithm is the user-selected displacement input. Typically this will be the AP position signal or the IE angular position signal. The spline calculation is implemented as shown in equation (c). The coefficients ajk and the knots tk can be determined offline by a virtual soft tissue software on a computer when the programmed soft tissue model is downloaded to the control processor. A lookup table for the coefficients is indexed by the current value of x returned from the selected displacement transducer. Once the coefficients are determined, the cubic equation is evaluated via a computationally efficient form that requires only three multiply and accumulate cycles in the DSP. The following equation may be used to specify the cubic spline algorithm:
                    F        =                  {                                                                                                                a                      00                                        +                                                                  a                        10                                            ⁢                      x                                        +                                                                  a                        20                                            ⁢                                              x                        2                                                              +                                                                  a                        30                                            ⁢                                              x                        3                                                                                                                                                                                    a                      01                                        +                                                                  a                        11                                            ⁢                      x                                        +                                                                                                …                                                                                                                        a                                              0                        ⁢                        k                                                              +                                                                  a                                                  1                          ⁢                          k                                                                    ⁢                      x                                        +                                                                  a                                                  2                          ⁢                                                                                                          ⁢                          k                                                                    ⁢                                              x                        2                                                              +                                                                  a                                                  3                          ⁢                          k                                                                    ⁢                                              x                        3                                                                                                                  ⁢                                                  ⁢            for            ⁢                                                  ⁢                          {                                                                                                                  t                        o                                            ≤                      x                      <                                              t                        1                                                                                                                                                                                t                        1                                            ≤                      x                      <                                              t                        2                                                                                                                                                                                                                                                                                                                  t                                                  k                          -                          1                                                                    ≤                      x                      <                                              t                        k                                                                                                                                                    (        c        )            